home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 009a / snpd0493.zip / UUDECODE.C < prev    next >
C/C++ Source or Header  |  1993-04-05  |  1KB  |  40 lines

  1. .I 2 2
  2. ** patched up for BC++ 3.1 by Alan Eldridge 10/12/92
  3. **     (UUCP: alane@wozzle.linet.org, FIDO: 1:272/38.473)
  4. .D 3 3
  5. .I 9 33
  6. #define         DEC(c)  (char)(((c)-' ')&077)
  7.  
  8. int main()
  9. {
  10.       int     n;
  11.       char    buf[128],a,b,c,d;
  12.  
  13.       scanf("begin %o ", &n);
  14.       gets(buf);                              /* filename */
  15.       if (!freopen(buf, "wb", stdout))         /* oops.. */
  16.       {
  17.             perror(buf);
  18.             exit(1);
  19.       }
  20.       while ((n=getchar())!=EOF&&((n=DEC(n))!=0))
  21.       {
  22.             while (n>0)
  23.             {
  24.                   a=DEC(getchar());
  25.                   b=DEC(getchar());
  26.                   c=DEC(getchar());
  27.                   d=DEC(getchar());
  28.                   if (n-->0)
  29.                         putchar((a<<2)|(b>>4));
  30.                   if (n-->0)
  31.                         putchar((b<<4)|(c>>2));
  32.                   if (n-->0)
  33.                         putchar((c<<6)|d);
  34.             }
  35.             n=getchar();                    /* skip \n */
  36.       }
  37.       return 0;
  38. }
  39. .D 10 30
  40.